package com.ruoyi.app.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 组织对象 app_organization
 * 
 * @author ruoyi
 * @date 2025-11-04
 */
public class AppOrganization extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long organizationId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 组织会长的ID */
    @Excel(name = "组织会长的ID")
    private Long leaderId;

    /** 组织名称 */
    @Excel(name = "组织名称")
    private String name;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 组织类型（0-总会1-地区分会） */
    @Excel(name = "组织类型", readConverterExp = "0=-总会1-地区分会")
    private String organizeType;

    /** 组织描述 */
    @Excel(name = "组织描述")
    private String organizeDesc;

    /** 组织封面 */
    @Excel(name = "组织封面")
    private String organizeCover;

    /** 成立日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "成立日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date establishDate;

    public void setOrganizationId(Long organizationId) 
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId() 
    {
        return organizationId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setLeaderId(Long leaderId) 
    {
        this.leaderId = leaderId;
    }

    public Long getLeaderId() 
    {
        return leaderId;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public void setOrganizeType(String organizeType) 
    {
        this.organizeType = organizeType;
    }

    public String getOrganizeType() 
    {
        return organizeType;
    }

    public void setOrganizeDesc(String organizeDesc) 
    {
        this.organizeDesc = organizeDesc;
    }

    public String getOrganizeDesc() 
    {
        return organizeDesc;
    }

    public void setOrganizeCover(String organizeCover) 
    {
        this.organizeCover = organizeCover;
    }

    public String getOrganizeCover() 
    {
        return organizeCover;
    }

    public void setEstablishDate(Date establishDate) 
    {
        this.establishDate = establishDate;
    }

    public Date getEstablishDate() 
    {
        return establishDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("organizationId", getOrganizationId())
            .append("userId", getUserId())
            .append("leaderId", getLeaderId())
            .append("name", getName())
            .append("contactPhone", getContactPhone())
            .append("organizeType", getOrganizeType())
            .append("organizeDesc", getOrganizeDesc())
            .append("organizeCover", getOrganizeCover())
            .append("establishDate", getEstablishDate())
            .toString();
    }
}
